package com.yangxk.kadmin.generator.template.sub;

import com.yangxk.kadmin.generator.constant.Const;
import com.yangxk.kadmin.generator.template.TemplatePath;

import java.util.HashMap;
import java.util.Map;

public abstract class AbstractTemplatePath implements TemplatePath {

    private Map<String, String> map = new HashMap<>();

    protected Map<String, String> add() {
        return new HashMap<>();
    }

    @Override
    public Map<String, String> getTemplatePath() {
        map.put(Const.MAPPER_TEMPLATE, "template/crud/mapper.vm");
        map.put(Const.XML_TEMPLATE, "template/crud/xml.vm");
        map.put(Const.SERVICE_TEMPLATE, "template/crud/service.vm");
        map.put(Const.SERVICE_IMPL_TEMPLATE, "template/crud/serviceImpl.vm");
        map.put(Const.CONTROLLER_TEMPLATE, "template/crud/controller.vm");
        map.put(Const.PO_TEMPLATE, "template/crud/entity.vm");
        map.put(Const.POJO_TEMPLATE, "template/crud/entity.vm");
        map.put(Const.VO_TEMPLATE, "template/crud/entity.vm");
        map.put(Const.QUERY_FORM_TEMPLATE, "template/crud/queryForm.vm");
        map.put(Const.EDIT_FORM_TEMPLATE, "template/crud/editForm.vm");
        map.put(Const.VUE_PAGE_TEMPLATE, "template/crud/vue/list.vm");
        map.put(Const.VUE_PAGE_DATASCOPE_TEMPLATE, "template/crud/vue/list-datascope.vm");
        map.put(Const.VUE_API_TEMPLATE, "template/crud/vue/api.vm");

        map.putAll(add());

        return map;
    }
}
